home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / sr / info.lha / info-sr.1990 < prev    next >
Text File  |  1993-07-24  |  32KB  |  780 lines

  1. From gmt  Wed Jan  3 10:27:20 1990
  2. Date: Wed, 3 Jan 90 10:27:20 MST
  3. From: "Gregg Townsend" <gmt>
  4. Message-Id: <9001031727.AA22646@megaron.arizona.edu>
  5. Received: by megaron.arizona.edu (5.59-1.7/15)
  6.     id AA22646; Wed, 3 Jan 90 10:27:20 MST
  7. To: info-sr
  8. Subject: The SR project has moved
  9.  
  10. The SR project's home machine, formerly "arizona.edu", has changed its
  11. Internet domain name to "cs.arizona.edu".  The uucp sitename of "arizona"
  12. has not changed.
  13.  
  14. FTP files from:            cs.arizona.edu
  15.                 (128.196.128.118 or 192.12.69.1)
  16.  
  17. Send questions to:        sr-project@cs.arizona.edu
  18.                 uunet!arizona!sr-project
  19.  
  20. Mailing list contributions:    info-sr@cs.arizona.edu        
  21.                 uunet!arizona!info-sr
  22.  
  23. Changes of address:        info-sr-request@cs.arizona.edu
  24.                 uunet!arizona!info-sr-request
  25.  
  26. From ntmtv!daemon@ames.arc.nasa.gov  Fri Mar  2 15:37:24 1990
  27. From: ntmtv!daemon@ames.arc.nasa.gov
  28. Received: from ames.arc.nasa.gov by megaron.cs.arizona.edu (5.59-1.7/15) via SMTP
  29.     id AA03203; Fri, 2 Mar 90 15:37:24 MST
  30. Received: by ames.arc.nasa.gov (5.61/1.2); Fri, 2 Mar 90 14:34:55 -0800
  31. Received: by ntmtv.com (3.2/SMI-3.2)
  32.     id AA07762; Fri, 2 Mar 90 13:56:26 PST
  33. Date: Fri, 2 Mar 90 13:56:26 PST
  34. Message-Id: <9003022156.AA07762@ntmtv.com>
  35. To: ames!info-sr@cs.arizona.edu, ames!sr-project@cs.arizona.edu
  36.  
  37. Received: from alpet.ntmtv.com by ntmtv.com (3.2/SMI-3.2)
  38.     id AA07755; Fri, 2 Mar 90 13:56:23 PST
  39. Received: by alpet.ntmtv.com (4.0/SMI-4.0)
  40.     id AA01732; Fri, 2 Mar 90 13:54:31 PST
  41. Date: Fri, 2 Mar 90 13:54:31 PST
  42. From: hildum@alpet (Eric Hildum)
  43. Message-Id: <9003022154.AA01732@alpet.ntmtv.com>
  44. To: info-sr@cs.arizona.edu
  45. Subject: Porting SR to a Motorola System V/68
  46. Cc: sr-project@cs.arizona.edu
  47.  
  48.  
  49. I am currently working on porting SR to a Motorola System V/68,
  50. which is a 68000 family, AT&T System V release 3 version 0 Unix box.
  51.  
  52. I would like to know:
  53.  
  54. A. Has anyone done a similar port, or is working on a similar port?
  55.  
  56. B. How can I do this port such that it will be useful to other users
  57.    of the SR language.
  58.  
  59. C. Suggestions, comments, and hints as to what to watch out for, how
  60.    to change things, etc.
  61.  
  62. I have discovered that the C compiler and lint are more limited on
  63. this machine.  What compiles without trouble, and passes lint on a
  64. Sun3 with K&R C does not compile correctly (enumeration type clashes
  65. on operator =; cpp seems to have a problem as well), nor does lint
  66. operate (failures including the .h files). I think I am running into
  67. hidden limits in the C compiler. Confirmation and suggestions are most
  68. welcome...
  69.  
  70.  
  71.                 Eric Hildum
  72.                 Northern Telecom, Mountain View
  73.                 ntmtv!hildum@amdahl.com
  74.                 hildum@iris.ucdavis.edu
  75.                 (415)940-2209
  76.  
  77. From gmt  Mon Mar  5 11:29:19 1990
  78. Date: Mon, 5 Mar 90 11:29:19 MST
  79. From: "Gregg Townsend" <gmt>
  80. Message-Id: <9003051829.AA09470@megaron.cs.arizona.edu>
  81. Received: by megaron.cs.arizona.edu (5.59-1.7/15)
  82.     id AA09470; Mon, 5 Mar 90 11:29:19 MST
  83. In-Reply-To: <9003022156.AA07762@ntmtv.com>
  84. To: info-sr
  85. Subject: Re:  Porting SR to a Motorola System V/68
  86. Cc: ntmtv!hildum@amdahl.com
  87.  
  88.     From ntmtv!hildum@amdahl.com Fri Mar  2 15:37:32 1990
  89.     
  90.     I am currently working on porting SR to a Motorola System V/68,
  91.     which is a 68000 family, AT&T System V release 3 version 0 Unix box....
  92.     
  93. The file "doc/port.ms", in the SR distribution, contains my thoughts on
  94. porting SR to a new architecture, so I won't try to repeat all of that 
  95. here.  Be sure to start with SR 1.1 (the July '89 version); it's much
  96. more portable that SR 1.0.
  97.  
  98. The HP 9000/300 is a 68000 box using System V, so that's probably the
  99. closest existing port.  Look for #ifdef hp9000s300 in a couple of places.
  100.  
  101. Probably the best thing you can do to help others is to mail problem reports
  102. back to sr-project@cs.arizona.edu, so that we can try and address them in the
  103. next version.
  104.  
  105.     Gregg Townsend / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721
  106.     +1 602 621 4325     gmt@cs.arizona.edu     110 57 16 W / 32 13 45 N / +758m
  107.  
  108. From ssi!fanning!rmb@uunet.UU.NET  Tue Mar  6 20:35:32 1990
  109. Received: from uunet.UU.NET by megaron.cs.arizona.edu (5.59-1.7/15) via SMTP
  110.     id AA22933; Tue, 6 Mar 90 20:35:32 MST
  111. Received: from ssi.UUCP by uunet.UU.NET (5.61/1.14) with UUCP 
  112.     id AA23625; Tue, 6 Mar 90 22:35:18 -0500
  113. Received: from fanning.com by ssi (4.0/SMI-4.0)
  114.     id AA20979; Tue, 6 Mar 90 17:03:47 CST
  115. Received: by fanning.com (4.0/SMI-4.0)
  116.     id AA00766; Tue, 6 Mar 90 17:03:39 CST
  117. Date: Tue, 6 Mar 90 17:03:39 CST
  118. From: ssi!fanning!rmb@uunet.UU.NET (Keptin Komrade Dr. Bobwrench III)
  119. Message-Id: <9003062303.AA00766@fanning.com>
  120. To: uunet!cs.arizona.edu!info-sr@uunet.UU.NET
  121. Subject: address change
  122.  
  123.     My address is changing from uunet!ssi!fanning!rmb to uunet!ssi!rmb.
  124. Please update the mailing list. Thanks,
  125.  
  126.     bob bownes.
  127.  
  128.  
  129.  
  130.  
  131. From ntmtv!daemon@ames.arc.nasa.gov  Thu Mar 22 15:36:38 1990
  132. From: ntmtv!daemon@ames.arc.nasa.gov
  133. Received: from ames.arc.nasa.gov by megaron.cs.arizona.edu (5.59-1.7/15) via SMTP
  134.     id AA08228; Thu, 22 Mar 90 15:36:38 MST
  135. Received: by ames.arc.nasa.gov (5.61/1.2); Thu, 22 Mar 90 14:36:44 -0800
  136. Received: by ntmtv.com (3.2/SMI-3.2)
  137.     id AA22326; Thu, 22 Mar 90 13:48:59 PST
  138. Date: Thu, 22 Mar 90 13:48:59 PST
  139. Message-Id: <9003222148.AA22326@ntmtv.com>
  140. To: ames!info-sr@cs.arizona.edu
  141.  
  142. Received: from alpet.ntmtv.com by ntmtv.com (3.2/SMI-3.2)
  143.     id AA22320; Thu, 22 Mar 90 13:48:55 PST
  144. Received: by alpet.ntmtv.com (4.0/SMI-4.0)
  145.     id AA00890; Thu, 22 Mar 90 13:46:59 PST
  146. Date: Thu, 22 Mar 90 13:46:59 PST
  147. From: hildum@alpet (Eric Hildum)
  148. Message-Id: <9003222146.AA00890@alpet.ntmtv.com>
  149. To: info-sr@cs.arizona.edu
  150. Subject: SR as a distributed applications controller
  151. Cc: Fred.Bossler.4K34@bnrmtv
  152.  
  153.  
  154. I am looking into using SR as a distributed applications controller.
  155. In this role the SR application will need to:
  156.  
  157. 1. monitor the execution of a number of separate processes on one or
  158. more hosts, initiating execution or restarting execution of the processes
  159. should they terminate for some reason. This may involve checking dependencies
  160. between processes (some may need to start earlier than others.)
  161.  
  162. 2. allow adminstrative and maintenance control and testing of the processes
  163. and their databases (ie, provide an interface such that the administration
  164. and control of these processes may take place through one location).  In 
  165. addition, print and message logging services should be centralized.
  166.  
  167. 3. Provide message passing, RPC, etc. services as needed between the 
  168. different processes.  
  169.  
  170. Note that the other processes will be written in C, but may be linked with 
  171. library procedures as required. The processes are separate processes, and may
  172. be updated at different times, or may not be present at all. We can probably
  173. get away with linking at installation time, which may help with communications.
  174.  
  175. I would be interested in hearing from anybody who has done an application
  176. like this, or has any suggestions or comments as to how it should be done.
  177.  
  178.                 Thank you,
  179.                     Eric Hildum 
  180.                     Northern Telecom
  181.                     (415)940-2209
  182.                     ntmtv!hildum@amdahl.com
  183.                     hildum@iris.ucdavis.edu
  184.  
  185. From angst@batserver.cs.uq.OZ.AU  Tue May  1 00:21:03 1990
  186. Received: from munnari.OZ.AU by megaron.cs.arizona.edu (5.59-1.7/15) via SMTP
  187.     id AA24169; Tue, 1 May 90 00:21:03 MST
  188. Received: from batserver.cs.uq.oz (via metro) by munnari.oz.au with SunIII (5.61+IDA+MU)
  189.     id AA08449; Tue, 1 May 1990 17:14:01 +1000
  190.     (from angst@batserver.cs.uq.OZ.AU for info-sr@cs.arizona.edu)
  191. Message-Id: <9005010442.AA14348@client>
  192. To: info-sr@cs.arizona.edu
  193. Subject: Casting with pointers and type sizes
  194. Date: Tue, 01 May 90 14:42:54 +1000
  195. From: Andrew Moran <angst@batserver.cs.uq.OZ.AU>
  196.  
  197.  
  198. Is it possible in SR to say ADDR(X), where X is and int and ADDR is a pointer ?
  199.  
  200. Also, what is the mechanism for finding out the size of a type ?
  201.  
  202. Angst
  203.  
  204. ---------
  205. "He's mad, totally mad.  He's madder than Mad Jack McMad, winner of last year's
  206.  Mr. Madman competition." -- Edmund, a butler.
  207. ----------------
  208.  
  209. From gmt  Tue May  1 09:16:52 1990
  210. Received: from owl.cs.arizona.edu by megaron.cs.arizona.edu (5.59-1.7/15) via SMTP
  211.     id AA22025; Tue, 1 May 90 09:16:52 MST
  212. Date: Tue, 1 May 90 09:16:47 MST
  213. From: "Gregg Townsend" <gmt>
  214. Message-Id: <9005011616.AA25519@owl.cs.arizona.edu>
  215. Received: by owl.cs.arizona.edu; Tue, 1 May 90 09:16:47 MST
  216. To: angst@batserver.cs.uq.OZ.AU, info-sr
  217. Subject: Re:  Casting with pointers and type sizes
  218.  
  219.     Is it possible in SR to say ADDR(X), where X is and int and ADDR
  220.     is a pointer ?
  221.  
  222. No.  If I understand what you're trying to do, the best way right now
  223. is assign "ADDR + X" to another variable Y, and then reference "Y^".
  224.  
  225.     Also, what is the mechanism for finding out the size of a type ?
  226.  
  227. There isn't one, but you can allocate variables of a type via "new()"
  228. without knowing the type's size, if that helps.
  229.  
  230.     Gregg Townsend / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721
  231.     +1 602 621 4325     gmt@cs.arizona.edu     110 57 16 W / 32 13 45 N / +758m
  232.  
  233. From ntmtv!daemon@ames.arc.nasa.gov  Tue May  1 11:31:58 1990
  234. From: ntmtv!daemon@ames.arc.nasa.gov
  235. Received: from ames.arc.nasa.gov by megaron.cs.arizona.edu (5.59-1.7/15) via SMTP
  236.     id AA01512; Tue, 1 May 90 11:31:58 MST
  237. Received: by ames.arc.nasa.gov (5.61/1.2); Tue, 1 May 90 11:31:46 -0700
  238. Received: by ntmtv.com (3.2/SMI-3.2)
  239.     id AA01553; Tue, 1 May 90 11:00:21 PDT
  240. Date: Tue, 1 May 90 11:00:21 PDT
  241. Message-Id: <9005011800.AA01553@ntmtv.com>
  242. To: ames!gmt@cs.arizona.edu, ames!info-sr@cs.arizona.edu
  243.  
  244. Received: from alpet.ntmtv.com by ntmtv.com (3.2/SMI-3.2)
  245.     id AA01546; Tue, 1 May 90 11:00:18 PDT
  246. Received: by alpet.ntmtv.com (4.0/SMI-4.0)
  247.     id AA05546; Tue, 1 May 90 10:57:26 PDT
  248. Date: Tue, 1 May 90 10:57:26 PDT
  249. From: hildum@alpet (Eric Hildum)
  250. Message-Id: <9005011757.AA05546@alpet.ntmtv.com>
  251. To: gmt@cs.arizona.edu
  252. Subject: Re:  Porting SR to a Motorola System V/68
  253. Cc: info-sr@cs.arizona.edu
  254.  
  255. Gregg,
  256.  
  257. We have recently received a new Motorola system, with their next release of
  258. UNIX. It appears slightly different, in that the socket library is now included
  259. in the c library as is done with 4.x systems.  This means that the changes I
  260. made to incorporate the library "inet" are no longer needed.  I have been
  261. a little busy of late, so have not been able to come up with a new differences
  262. file for you.  I will send my changes as soon as possible.
  263.  
  264.                 Eric Hildum
  265.  
  266. From angst@batserver.cs.uq.OZ.AU  Tue May  1 23:09:24 1990
  267. Received: from munnari.OZ.AU by megaron.cs.arizona.edu (5.59-1.7/15) via SMTP
  268.     id AA17410; Tue, 1 May 90 23:09:24 MST
  269. Received: from batserver.cs.uq.oz (via metro) by munnari.oz.au with SunIII (5.61+IDA+MU)
  270.     id AA04649; Wed, 2 May 1990 16:09:15 +1000
  271.     (from angst@batserver.cs.uq.OZ.AU for info-sr@cs.arizona.edu)
  272. Message-Id: <9005020043.AA25850@client>
  273. To: info-sr@cs.arizona.edu
  274. Subject: Re: Casting with pointers and type sizes 
  275. In-Reply-To: Your message of Tue, 01 May 90 09:16:47 -0700.
  276.              <9005011616.AA25519@owl.cs.arizona.edu> 
  277. Date: Wed, 02 May 90 10:43:52 +1000
  278. From: Andrew Moran <angst@batserver.cs.uq.OZ.AU>
  279.  
  280.  
  281. >    Is it possible in SR to say ADDR(X), where X is and int and ADDR
  282. >    is a pointer ?
  283.  
  284. >No.  If I understand what you're trying to do, the best way right now
  285. >is assign "ADDR + X" to another variable Y, and then reference "Y^".
  286.  
  287. Well, what I want is an equivalent to "(TYPE *) 0" actually.  I suppose "null"
  288. works for all pointer types though, doesn't it, silly me.
  289.  
  290. >    Also, what is the mechanism for finding out the size of a type ?
  291.  
  292. >There isn't one, but you can allocate variables of a type via "new()"
  293. >without knowing the type's size, if that helps.
  294.  
  295. I need to allocate a big block of memory once (it's a heap for an abstract
  296. machine), so I want to know exactly the right number to give malloc.  For
  297. example, if the elements of my heap are composed of an enum, a ref_count and
  298. two pointers, then what is the 200000*size(heap_element) ?  Is there anyway I
  299. can force the SR compiler to use shorts/chars or something rather than
  300. fully-fledged ints for the first two fields ?  This reduces size(heap_element)
  301. from 4 words to 3 -- very desirable.
  302.  
  303. Also, I'm having trouble with semaphores, specifically I wish to include a
  304. semaphore field in a record.  This is intended to enable me to protect an
  305. instance of a record from being fiddled with by more than more process
  306. simultaneously (sheathing the "fiddling" code isn't enough, I want to make the
  307. elements critical, not the whole structure).
  308.  
  309. >  Gregg Townsend / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721
  310. >  +1 602 621 4325     gmt@cs.arizona.edu     110 57 16 W / 32 13 45 N / +758m
  311.  
  312. Angst
  313.  
  314. -------------
  315. "The eyes are open, the mouth moves, but Mr. Brain has long since departed,
  316.  hasn't he Percy" --- Lord Edmund BlackAdder, to Lord Percy Percy.
  317. -------------------
  318.  
  319. From gmt  Wed May  2 19:10:30 1990
  320. Received: from owl.cs.arizona.edu by megaron (5.59-1.7/15) via SMTP
  321.     id AA19317; Wed, 2 May 90 19:10:30 MST
  322. Date: Wed, 2 May 90 16:11:49 MST
  323. From: "Gregg Townsend" <gmt>
  324. Message-Id: <9005022311.AA02130@owl.cs.arizona.edu>
  325. Received: by owl.cs.arizona.edu; Wed, 2 May 90 16:11:49 MST
  326. To: angst@batserver.cs.uq.OZ.AU
  327. Subject: Re: Casting with pointers and type sizes
  328. Cc: info-sr
  329.  
  330.     From: Andrew Moran <angst@batserver.cs.uq.OZ.AU>
  331.  
  332.     I need to allocate a big block of memory once (it's a heap for an abstract
  333.     machine), so I want to know exactly the right number to give malloc.  For
  334.     example, if the elements of my heap are composed of an enum, a ref_count
  335.     and two pointers, then what is the 200000*size(heap_element) ? 
  336.  
  337. The easiest way to do something like this in SR is to let the system
  338. figure it all out and allocate it, e.g.:
  339.  
  340.         type t = rec (
  341.         e : enum ( red, green, blue )
  342.         r : int
  343.         p : ptr t
  344.         q : ptr any
  345.         )
  346.         const n := 200000
  347.         var a[n] : t        # declare array of 200000 records
  348.  
  349.     Is there anyway I can force the SR compiler to use shorts/chars or
  350.     something rather than fully-fledged ints for the first two fields ?
  351.     This reduces size(heap_element) from 4 words to 3 -- very desirable.
  352.  
  353. There's no easy way to do that.  It is possible to declare fields as chars
  354. and explicitly convert to & from other types.  SR has no way to use shorts.
  355.  
  356.     Also, I'm having trouble with semaphores, specifically I wish to include a
  357.     semaphore field in a record.  This is intended to enable me to protect an
  358.     instance of a record from being fiddled with by more than more process
  359.     simultaneously (sheathing the "fiddling" code isn't enough, I want to make
  360.     the elements critical, not the whole structure).
  361.  
  362. This is also tricky.  An SR semaphore declares an op, not a variable, so
  363. semaphores can't be used in records.  One approach would be to have an
  364. "array" of semaphores, then associate a different one with each record
  365. (perhaps by storing a unique semaphore index in the record).
  366.  
  367.     Gregg Townsend / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721
  368.     +1 602 621 4325     gmt@cs.arizona.edu     110 57 16 W / 32 13 45 N / +758m
  369.  
  370. From angst@batserver.cs.uq.OZ.AU  Sat Jun 23 01:35:24 1990
  371. Received: from munnari.oz.au by megaron (5.61/15) via SMTP
  372.     id AA09579; Sat, 23 Jun 90 01:35:24 -0700
  373. Received: from batserver.cs.uq.oz (via metro) by munnari.oz.au with SunIII (5.61+IDA+MU)
  374.     id AA02222; Sat, 23 Jun 1990 18:35:08 +1000
  375.     (from angst@batserver.cs.uq.OZ.AU for info-sr@cs.arizona.edu)
  376. Message-Id: <9006210724.AA06496@client>
  377. To: info-sr@cs.arizona.edu
  378. Subject: How are enumerated types represented + process priority
  379. Date: Thu, 21 Jun 90 17:24:19 +1000
  380. From: Andrew Moran <angst@batserver.cs.uq.OZ.AU>
  381.  
  382.  
  383. Is a variable of an enumerated type the same size as an int or do they fit into
  384. chars ?  Can I cast an enum to a char ?
  385.  
  386. Can I influence the priority of a process ?
  387.  
  388. Angst
  389.  
  390. ----------
  391. "Tell the King that he's as safe as a fox being hunted by a pack of one-legged
  392.  hunting tortoises." -- Lord Edmund Blackadder, loyalist
  393. -----------------
  394.  
  395. From gmt  Mon Jun 25 07:21:09 1990
  396. Received: from owl.cs.arizona.edu by megaron (5.61/15) via SMTP
  397.     id AA07136; Mon, 25 Jun 90 07:21:09 -0700
  398. Date: Mon, 25 Jun 90 07:21:05 MST
  399. From: "Gregg Townsend" <gmt>
  400. Message-Id: <9006251421.AA15457@owl.cs.arizona.edu>
  401. Received: by owl.cs.arizona.edu; Mon, 25 Jun 90 07:21:05 MST
  402. To: info-sr
  403. Subject: Re:  How are enumerated types represented + process priority
  404.  
  405.     Date: Thu, 21 Jun 90 17:24:19 +1000
  406.     From: Andrew Moran <angst@batserver.cs.uq.OZ.AU>
  407.  
  408.     Is a variable of an enumerated type the same size as an int or do they
  409.     fit into chars ?
  410.  
  411. SR always stores enums as ints, at least right now.  (Nothing is promised.)
  412.  
  413.     Can I cast an enum to a char ?
  414.  
  415. Yes, and vice versa.
  416.  
  417.     Can I influence the priority of a process ?
  418.  
  419. Not yet, but we're working on it.
  420.  
  421. Gregg Townsend / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721
  422. +1 602 621 4325     gmt@cs.arizona.edu     110 57 16 W / 32 13 45 N / +758m
  423.  
  424. From morgenst@tcucs1.cs.tcu.EDU  Sat Aug 18 15:17:59 1990
  425. Received: from ALPHA.IS.TCU.EDU ([129.117.15.2]) by megaron (5.61/15) via SMTP
  426.     id AA23903; Sat, 18 Aug 90 15:17:59 -0700
  427. Received: from tcucs1.cs.tcu.edu. by ALPHA.IS.TCU.EDU; Sat, 18 Aug 90 17:19 CDT
  428. Received: by tcucs1.cs.tcu.edu. (4.0/SMI-4.0) id AA03603; Sat, 18 Aug 90
  429.  17:18:31 CDT
  430. Date: Sat, 18 Aug 90 17:18:31 CDT
  431. From: morgenst@tcucs1.cs.tcu.EDU
  432. Subject: srx lost connection???
  433. To: info-sr@cs.arizona.edu
  434. Message-Id: <9008182218.AA03603@tcucs1.cs.tcu.edu.>
  435. X-Envelope-To: info-sr@cs.arizona.EDU
  436.  
  437. A week ago we came online to internet.  Before that time, we had no problem
  438. running SR programs across our local network of SUN3s and SparcStations
  439. (provided that the main resource was run on a SparcStation).  Now we
  440. are getting errors of the form:
  441.  
  442.    srx: lost connection to virtual machine <vm number>
  443.  
  444. when we try start up a vm on a SUN3 from a main resource running on a
  445. SparcStation.  This message gets generated even when running the
  446. simple program in sr/examples/remote.  
  447.  
  448. Does anyone know if this problem is resolvable or what is causing it?  We
  449. currently are not running yellow pages, we do not have a local nameserver
  450. and we are not running in.routed (a router is specified using "route" in
  451. rc.local).
  452.  
  453. Thanks in advance for you help!!!
  454.  
  455. Craig Morgenstern
  456. Dept of Computer Science
  457. Texas Christian University
  458. morgenst@tcucs1.cs.tcu.edu
  459.  
  460. From morgenst@tcucs1.cs.tcu.EDU  Sat Aug 18 21:58:34 1990
  461. Received: from ALPHA.IS.TCU.EDU ([129.117.15.2]) by megaron (5.61/15) via SMTP
  462.     id AA02785; Sat, 18 Aug 90 21:58:34 -0700
  463. Received: from tcucs1.cs.tcu.edu. by ALPHA.IS.TCU.EDU; Sun, 19 Aug 90 00:00 CDT
  464. Received: by tcucs1.cs.tcu.edu. (4.0/SMI-4.0) id AA04591; Sat, 18 Aug 90
  465.  23:59:06 CDT
  466. Date: Sat, 18 Aug 90 23:59:06 CDT
  467. From: morgenst@tcucs1.cs.tcu.EDU
  468. Subject: srx lost connection
  469. To: info-sr@cs.arizona.edu
  470. Message-Id: <9008190459.AA04591@tcucs1.cs.tcu.edu.>
  471. X-Envelope-To: info-sr@cs.arizona.EDU
  472.  
  473. Please ignore my last request for help.  We seem to be having network
  474. problems not specific to SR on our SparcStations.
  475.  
  476. Craig Morgenstern
  477. morgenst@tcucs1.cs.tcu.edu
  478.  
  479. From angst@batserver.cs.uq.OZ.AU  Wed Oct 10 21:29:28 1990
  480. Received: from munnari.oz.au by megaron.cs.arizona.edu (5.61/15) via SMTP
  481.     id AA01197; Wed, 10 Oct 90 21:29:28 -0700
  482. Received: from batserver.cs.uq.oz (via metro) by munnari.oz.au with SunIII (5.64+1.3.1+0.50)
  483.     id AA25628; Thu, 11 Oct 1990 14:29:18 +1000
  484.     (from angst@batserver.cs.uq.OZ.AU for info-sr@cs.arizona.edu)
  485. Message-Id: <9010110429.25628@munnari.oz.au>
  486. To: info-sr@cs.arizona.edu
  487. Subject: Can operation capabilities be included in records ?  Semaphores ?
  488. Date: Thu, 11 Oct 90 14:19:04 +1000
  489. From: Andrew Moran <angst@batserver.cs.uq.oz.au>
  490.  
  491.  
  492. I am trying to gain mutual exclusion over elements of a data type (i.e. no
  493. simulaneous operations on any instance of the data type).  To this end, I would
  494. like to include in the data type a semaphore (rather, an operation capability
  495. that mimics a semaphore since semaphores cannot be variables as far as I can
  496. tell).  I've run into quite a few problems when trying to initialise an
  497. instance.
  498.  
  499. Assume the following declarations.
  500.  
  501.     optype LockSem ()
  502.  
  503.     type SemRec = rec (data_bits : Data; lock : cap LockSem)
  504.  
  505.     op new_semrec (data : Data) returns sr : Sem Rec
  506.  
  507. The lock field is intended to be the means of exclusion.  When I want to
  508. change/access the record I use "receive lock ()"; when I want to release the
  509. lock I use "send lock ()".  Is there any way I can actually meaningfully assign
  510. to the lock field ? I've tried
  511.  
  512.     proc new_semrec (data) returns sr
  513.         sr := new(SemRec)
  514.         sr^.data := data
  515.  
  516.         op lock_sem : LockSem
  517.         sr^.lock := lock_sem
  518.         send sr^.lock () /* So the record can be used immediately */
  519.     end new_semrec
  520.  
  521. but, as common sense would dictate, this doesn't work since lock_sem has not
  522. been implemented.
  523.  
  524. Is there any way around this Gregg ?  Or have I overstepped the bounds of
  525. decent SR programming.
  526.  
  527. Andrew Moran
  528.  
  529. ---------
  530. "He's mad, totally mad.  He's madder than Mad Jack McMad, winner of last year's
  531.  Mr. Madman competition." -- Edmund, a butler.
  532. ----------------
  533.  
  534. From olsson@ivy.eecs.ucdavis.edu  Tue Oct 16 13:30:03 1990
  535. Received: from iris.eecs.ucdavis.edu by megaron.cs.arizona.edu (5.61/15) via SMTP
  536.     id AA01141; Tue, 16 Oct 90 13:30:03 -0700
  537. Received: by iris.eecs.ucdavis.edu (5.57/UCD.EECS.3.0)
  538.     id AA12512; Tue, 16 Oct 90 13:29:44 -0700
  539. Received: by ivy (5.57/3.14)
  540.     id AA04050; Tue, 16 Oct 90 13:29:21 -0700
  541. Date: Tue, 16 Oct 90 13:29:21 -0700
  542. From: olsson@ivy.eecs.ucdavis.edu (Ron Olsson)
  543. Message-Id: <9010162029.AA04050@ivy>
  544. To: angst@batserver.cs.uq.oz.au
  545. Cc: info-sr@cs.arizona.edu
  546. In-Reply-To: Andrew Moran's message of Thu, 11 Oct 90 14:19:04 +1000 <9010110429.25628@munnari.oz.au>
  547. Subject: Can operation capabilities be included in records ?  Semaphores ?
  548.  
  549.    Date: Thu, 11 Oct 90 14:19:04 +1000
  550.    From: Andrew Moran <angst@batserver.cs.uq.oz.au>
  551.    ...  The lock field is intended to be the means of exclusion.  When
  552.    I want to change/access the record I use "receive lock ()"; when I
  553.    want to release the lock I use "send lock ()".  Is there any way I
  554.    can actually meaningfully assign to the lock field ? I've tried
  555.  
  556.        proc new_semrec (data) returns sr
  557.            sr := new(SemRec)
  558.            sr^.data := data
  559.            op lock_sem : LockSem
  560.            sr^.lock := lock_sem
  561.            send sr^.lock () /* So the record can be used immediately */
  562.        end new_semrec
  563.  
  564.    but, as common sense would dictate, this doesn't work since
  565.    lock_sem has not been implemented.
  566.  
  567. Right.  A general way to solve this is something like:
  568.  
  569.        proc new_semrec (data) returns sr
  570.            sr := new(SemRec)
  571.            sr^.data := data
  572.            op req_lock, rel_lock : LockSem
  573.            sr^.req_lock := req_lock
  574.            sr^.rel_lock := rel_lock
  575.            reply
  576.                    do true -> receive req_lock(); receive rel_lock();  od
  577.        end new_semrec
  578.  
  579. I've changed the interface to
  580.     call sr^.req_lock(); /* use sr */; send sr^.rel_lock()
  581. (And not shown, but obvious, the decl of SemRec.)  I'm not sure,
  582. though, that you didn't already figure out this kind of solution but
  583. were looking for a better way, one that uses your interface. Note that
  584. each new_semrec process hangs around forever -- that can be tidied up
  585. if you know when no one will use the record anymore.
  586.  
  587. If all the processes using the record are in the same resource
  588. instance and you can bound the number of records that will ever be in
  589. existence at once, then you might want to use an array of shared
  590. operations.  That would allow you to use the interface you want, e.g.,
  591.     receive lock[sr^.i]; /* use sr */; send lock[sr^.i()]
  592. where the index i is assigned by new_semrec.
  593.  
  594. If using processes are outside the resource, you can provide procs in
  595. the resource they can call to do the receive/send on their behalf.
  596.  
  597. From angst@batserver.cs.uq.OZ.AU  Tue Oct 16 16:49:15 1990
  598. Received: from munnari.oz.au by megaron.cs.arizona.edu (5.61/15) via SMTP
  599.     id AA11550; Tue, 16 Oct 90 16:49:15 -0700
  600. Received: from batserver.cs.uq.oz (via metro) by munnari.oz.au with SunIII (5.64+1.3.1+0.50)
  601.     id AA08353; Wed, 17 Oct 1990 09:49:01 +1000
  602.     (from angst@batserver.cs.uq.OZ.AU for info-sr@cs.arizona.edu)
  603. Message-Id: <9010162349.8353@munnari.oz.au>
  604. To: info-sr@cs.arizona.edu
  605. Subject: Re: Ron Olsson's reply to "Can operation capabilities .... "
  606. In-Reply-To: Your message of "Tue, 16 Oct 90 13:29:21 MST."
  607.              <9010162029.AA04050@ivy> 
  608. Date: Wed, 17 Oct 90 09:14:05 +1000
  609. From: Andrew Moran <angst@batserver.cs.uq.oz.au>
  610.  
  611.  
  612. > Right.  A general way to solve this is something like:
  613. >        proc new_semrec (data) returns sr
  614. >            sr := new(SemRec)
  615. >            sr^.data := data
  616. >            op req_lock, rel_lock : LockSem
  617. >            sr^.req_lock := req_lock
  618. >            sr^.rel_lock := rel_lock
  619. >            reply
  620. >                  do true -> receive req_lock(); receive rel_lock();  od
  621. >        end new_semrec
  622.  
  623. Thanks Ron, good stuff.  I thought some kind of "reply then wait for
  624. invocations" structure would be required, I just couldn't get it to mesh.
  625.  
  626. > I've changed the interface to
  627. >     call sr^.req_lock(); /* use sr */; send sr^.rel_lock()
  628.  
  629. Fine, suits me fine.  You see I want to lock elements of the heap of a parallel
  630. functional abstract machine (for evaluation).  I will know when a heap element
  631. is not used anymore, but the usual response is to add it to the free list.
  632. This will mean the new_semrec (new_cell actually) process will still be alive.
  633. If I do away with the free list, I can be rid of the new_cell process.
  634.  
  635. However, this is merely a prototype of the abstract machine, in which the
  636. memory management (particularly allocation of heap space) is very
  637. unsophisticated (i.e. uses "new", rather than allocating explicitly from a heap
  638. as all responsible abstract machines do).  If I rid myself of the free list
  639. now, it will make the step from prototype to real machine much more difficult.
  640.  
  641. Anyway, at the moment the only benefit gained from having a free list is that
  642. you don't need to call new_cell (I think the new(CELL) is the time-consuming
  643. procedure) thus saving some time.  But with the process hanging around, I'm
  644. wondering what the time/space cost will be.  Also, it is likely that there will
  645. be large numbers of these new_cell processes simultaneously active.  Is there
  646. some limit to the number of active SR processes I can have at one time ?  What
  647. about the speed (and space) degradation involved in having heaps of Sr
  648. processes running about ?
  649.  
  650. > If all the processes using the record are in the same resource
  651. > instance and you can bound the number of records that will ever be in
  652. > existence at once, then you might want to use an array of shared
  653. > operations.  That would allow you to use the interface you want, e.g.,
  654. >     receive lock[sr^.i]; /* use sr */; send lock[sr^.i()]
  655. > where the index i is assigned by new_semrec.
  656.  
  657. The using processes will never be in the same resource, and the bound on the
  658. heap size is huge (even though it is not enforced in the prototype).  I don't
  659. like the idea of an array of 100 000 operations.  A "free list" of shared
  660. operations, perhaps ?  That's the same as keeping the free list of heap
  661. elements with operation attached to each element.  Back to square one.
  662.  
  663. > If using processes are outside the resource, you can provide procs in
  664. > the resource they can call to do the receive/send on their behalf.
  665.  
  666. Yep.
  667.  
  668. What Ron has suggested is what I was after, the only question that now remains
  669. is "to free or not to free ?"  That is, should I keep the free list as it is
  670. (enabling easy extension of the prototype) or will I be forced (for performance
  671. considerations) to abandon it ?
  672.  
  673. To summarize, these are now the question of interest:
  674.  
  675.     1. What does it cost in time and space to have an SR process active
  676.        (waiting for the most part) throughout execution of the program ?
  677.     2. How many SR processes may be active simultaneously ?
  678.     3. What sort of performance degradation can I expect as the number of
  679.        active SR processes increases ?
  680.  
  681. Thanks people,
  682.  
  683. Angst
  684.  
  685. ---------------
  686. Left. G: "Sir, what do we do if we stand on a mine ?"
  687. Capt. B: "Well, normal procedure, Leftenant, is to jump 200 feet into the air
  688.       and scatter oneself over a wide area."
  689.  
  690.     -- somewhere no man's land, "Blackadder Goes Forth"
  691. ---------------
  692.  
  693. From olsson@ivy.eecs.ucdavis.edu  Wed Oct 17 11:35:58 1990
  694. Received: from iris.eecs.ucdavis.edu by megaron.cs.arizona.edu (5.61/15) via SMTP
  695.     id AA22341; Wed, 17 Oct 90 11:35:58 -0700
  696. Received: by iris.eecs.ucdavis.edu (5.57/UCD.EECS.3.0)
  697.     id AA13975; Wed, 17 Oct 90 11:35:55 -0700
  698. Received: by ivy (5.57/3.14)
  699.     id AA08117; Wed, 17 Oct 90 11:35:53 -0700
  700. Date: Wed, 17 Oct 90 11:35:53 -0700
  701. From: olsson@ivy.eecs.ucdavis.edu (Ron Olsson)
  702. Message-Id: <9010171835.AA08117@ivy>
  703. To: angst@batserver.cs.uq.oz.au
  704. Cc: info-sr@cs.arizona.edu
  705. In-Reply-To: Andrew Moran's message of Wed, 17 Oct 90 09:14:05 +1000 <9010162349.8353@munnari.oz.au>
  706. Subject: Ron Olsson's reply to "Can operation capabilities .... "
  707.  
  708.    Date: Wed, 17 Oct 90 09:14:05 +1000
  709.    From: Andrew Moran <angst@batserver.cs.uq.oz.au>
  710.  
  711.    ...
  712.    To summarize, these are now the question of interest:
  713.  
  714.    1. What does it cost in time and space to have an SR process active
  715.       (waiting for the most part) throughout execution of the program ?
  716.    2. How many SR processes may be active simultaneously ?
  717.    3. What sort of performance degradation can I expect as the number of
  718.       active SR processes increases ?
  719.  
  720. The max number of processes per vm is bounded.  `srl -l' will list the
  721. limits, and the srl options that control them.  Each process takes
  722. space for stack (also controllable via srl option).  So, memory to
  723. hold program can get large if you have lots of processes.  However,
  724. that shouldn't affect execution time (other than perhaps for
  725. swapping...).  You might run out of virtual memory if you have
  726. thousands of processes.
  727.  
  728. BTW, another technique that you might find relevant is to use an SR
  729. operation to implement your free list.  To obtain an item, receive
  730. from the operation; to release an item, send it to the operation.  Of
  731. course, the receiver must be in the same resource (but a proc to
  732. service outside requests could do the dirty work).  The SR paper in
  733. TOPLAS Jan 88 contains a paragraph describing this technique (page 82,
  734. "data-containing semaphores").  I've recently written a paper that
  735. describes it in more detail; I'll mail you a copy if you're
  736. interested.  I don't think this technique will solve your original
  737. problem -- you want locking, which seems to indicate that you have
  738. multiple processes accessing the same record; this technique allows
  739. one process at a time to use an item, and then return it.  But the
  740. idea might help you in some other aspect of your work.
  741.  
  742. From @CUNYVM.CUNY.EDU:flibedin@taurus.bitnet  Wed Nov 21 05:13:18 1990
  743. Resent-From: @CUNYVM.CUNY.EDU:flibedin@taurus.bitnet
  744. Received: from Arizona.edu (Hopey.Telcom.Arizona.EDU) by megaron.cs.arizona.edu (5.61/15) via SMTP
  745.     id AA22004; Wed, 21 Nov 90 05:13:18 -0700
  746. Return-Path: flibedin%TAURUS.BITNET@CUNYVM.CUNY.EDU
  747. Received: from cunyvm.cuny.edu by Arizona.edu; Wed, 21 Nov 90 05:12 MST
  748. Received: from TAURUS.BITNET by CUNYVM.CUNY.EDU (IBM VM SMTP R1.2.2MX) with
  749.  BSMTP id 7719; Wed, 21 Nov 90 07:11:37 EST
  750. Received: from s2.math.tau.ac.il by math.tau.ac.il (4.1/TAU-4.8) id AA07621;
  751.  Wed, 21 Nov 90 14:12:37 +0200
  752. Received: by s2.math.tau.ac.il (4.1/TAUCLNT-2.0) id AA00615; Wed, 21 Nov 90
  753.  14:10:29 +0200
  754. Resent-Date: Wed, 21 Nov 90 05:13 MST
  755. Date: Wed, 21 Nov 90 14:10:29 +0200
  756. From: flibedin%TAURUS.BITNET@CUNYVM.CUNY.EDU
  757. From: flibedin%TAURUS.BITNET@CUNYVM.CUNY.EDU
  758. Subject: SSR on Transputers
  759. Resent-To: info-sr@cs.arizona.edu
  760. To: info-sr@arizona.edu
  761. Reply-To: flibedin%math.tau.ac.il@CUNYVM.CUNY.EDU
  762. Resent-Message-Id: <FF8805F4D9DDA0412D@Arizona.edu>
  763. Message-Id: <9011211210.AA00615@s2.math.tau.ac.il>
  764. X-Envelope-To: info-sr@CS.Arizona.EDU
  765. X-Vms-To: info-sr@Arizona.edu
  766. Comments: If you have trouble reaching this host as math.tau.ac.il Please use
  767.  the old address: user@taurus.bitnet
  768.  
  769. I would like to know if someone has ported SR to a transputer network
  770. running the Helios Operating System?
  771.  
  772.  
  773. Fernando Libedinsky
  774. CS Dept, Tel-Aviv University
  775. flibedin@math.tau.ac.il
  776.  
  777.  
  778.  
  779.